#ifndef PROCESS_SCHEDULER_H
#define PROCESS_SCHEDULER_H

#include "NOW.h"
#include "Queue.h"



//通用函数，表示pid进程将在time时间后op [operand]。
//void processAct(int pid, int time, int op, int operand);
// //创建进程，name缺省则默认为"P <pid>", 指定什么时候到来。
// void createProcess(int pid, int arrive_time, int priority);
// //复制父进程fa_pid创建子进程ch_pid
// void forkProcess(int fa_pid, int ch_pid);
// //程序pid终止自身执行，并返回传入的参数
// void exit(int pid, int retVal);
// //程序pid发送信号终止程序targetId的执行，若targetId为负则视为对gid为|targetId|操作
// void killProcess(int pid, int targetId);
// //让进程waiter等待target进程执行完毕
// void waitProcess(int waiter, int target);
// //由pid获取已创立且未被删除的Process信息
// int getProcessInfo(int pid, Process *pinfo);
// //将pid进程的组改为gid,pid=-1则使用当前进程的pid，gid同理。
// int setPGid(int pid, int gid);
// //设置pid进程优先级，若成功返回1，若失败返回0
// int setProcessPriority(int pid, int priority);
// //设置调度算法
// int setDispatcherAlgorithm(int algorithm);
//初始化模拟环境
//void init_processes();
//执行模拟
void simulator();
//输出所有进程的状态包括调试信息
//void output_processes();


#endif
